package com.casic.ops.service.api.pipeline;

import com.casic.ops.entity.domain.pipeline.PipelineDO;
import com.casic.ops.entity.dto.pipeline.PipelineDTO;
import com.casic.ops.entity.request.pipeline.PipelinePageRequest;
import com.casic.ops.entity.request.pipeline.PipelineRequest;
import com.casic.ops.entity.vo.pipeline.response.MultiResponse;
import com.casic.ops.entity.vo.pipeline.response.PageResponse;
import com.casic.ops.entity.vo.pipeline.response.Response;
import com.casic.ops.entity.vo.pipeline.response.SingleResponse;

/**
 * 流水线服务
 * @author cww
 * @date 2022/6/17
 */
public interface PipelineService {
    Response add(PipelineRequest pipelineRequest);
    Response update(PipelineRequest pipelineRequest);
    Response delete(Long id);
    Response batchDelete(Long[] ids);
    SingleResponse<PipelineDTO> getById(Long id);
    MultiResponse<PipelineDTO> list();
    PageResponse<PipelineDTO> page(PipelinePageRequest pipelinePageRequest);
    PipelineDO selectById(long id);
    Response getRecentlyPipeline();

    /**
     * 部署流水线
     * @param
     * @return
     */
    Response deploy(Long id);

    /**
     * 执行流水线
     * @param
     * @return
     */
    Response execute(Long id);










}
